1. Field of the Invention.
This invention relates in general to cell relay devices, and more particularly to a method and apparatus for supporting connections on multipoint-to-point topologies.
2. Description of Related Art.
Cell relay refers to any data communications technology that is based on transmission of small, fixed-length data units called cells. Cells are made up of a header field, containing address information, and an information field, carrying user data. With cell relay, a cell converter takes the constant-bit-rate streams of voice and video devices and the variable-bit-rate streams of data devices and converts them into cells. These cells are then routed across a cell relay network to multiple destinations, based on the address information in the headers. At each destination, other cell converters recreate the bit streams and deliver them to the user devices. With cell relay, separate applications can be consolidated onto a single, higher speed network, improving overall price/performance. Furthermore, because a cell relay network is based on switching fixed-length data units, it is possible to build high performance switching fabrics supporting burst rates of hundreds of megabits per second.
Asynchronous Transfer Mode (ATM) is just one example of a cell-based switching and multiplexing technology. ATM is designed to be a general-purpose, connection-oriented transfer mode for a wide range of services. Today, ATM is being used on local area networks (LANs), metropolitan area networks (MANs) and wide area networks (WANs). As a result, ATM is rapidly becoming the premier protocol for many communication and networking applications. With ATM installed on LANS, MANs and WANs, all types of voice, data and video traffic can operate together seamlessly. No other protocol offers this seamless integration of information, making ATM a catalyst for technological advances in telecommunications, multimedia and other markets.
ATM handles both connection-oriented traffic and connectionless traffic through the use of adaptation layers. Typically, ATM virtual connections operate at either a Constant Bit Rate (CBR) or a Variable Bit Rate (VBR). Each ATM cell sent into the network contains addressing information that establishes a virtual connection from origination to destination. All cells are then transferred, in sequence, over this virtual connection. ATM provides either Permanent or Switched Virtual Circuits (PVCs or SVCs). ATM is asynchronous because the transmitted cells need not be periodic as time slots of data as in Synchronous Transfer Mode (STM).
ATM offers the potential to standardize on one network architecture, which defines the multiplexing and switching method. ATM also supports multiple Quality of Service (QoS) classes for differing application requirements on delay and loss performance. Thus, the vision of ATM is that an entire network can be constructed using ATM and ATM Application Layer (AAL) switching and multiplexing principles to support a wide range of all services, such as:
Voice PA1 Packet data (Switched MultiMegabit Data Service (SMDS), Internet Protocol (IP), Frame Relay (FR) PA1 Video PA1 Imaging PA1 Circuit emulation
ATM also provides bandwidth-on-demand through the use of SVCs, and also supports LAN-like access to available bandwidth.
ATM standards define a fixed-size cell with a length of 53 octets (or bytes) comprised of a 5-octet header and a 48-octet payload. With a relatively small cell size, ATM is a compromise between the long frames generated in data communications and the short, repetitive transmissions required for voice communications, video transmission and other isochronous data transmission.
The bits in the cells are transmitted over the transmission path in a continuous stream. Cells are mapped into a physical transmission path, such as the North American Digital Signal Level 1 (DS1), DS3, or SONET; International Telecommunications Union--Telecommunications standardization sector (ITU-T) STM standards; and various other local fiber and electrical transmission payloads.
All information is switched and multiplexed in an ATM network using these fixed-length cells. The cell header identifies the destination, cell type, and priority. The fixed cell size simplifies the implementation of ATM switches and multiplexers while providing very high speeds.
When using ATM, longer packets cannot delay shorter packets as in other switched implementations because long packets are chopped up into many cells. This enables ATM to carry Constant Bit Rate (CBR) traffic such as voice and video in conjunction with Variable Bit-Rate (VBR) data traffic, potentially having very long packets within the same network.
Three major concepts in ATM are: the transmission path, the Virtual Path (VP), and, optionally, the Virtual Channel (VC). These form the basic building blocks of ATM. A physical transmission path contains one or more virtual paths (VPs), while each virtual path contains one or more Virtual Channels (VCs). Thus, multiple virtual channels can be trunked on a single virtual path. Switching can be performed on either a transmission path, virtual path, or virtual circuit (i.e., channel) level.
This capability to switch down to a virtual channel level is similar to the operation of a Private or Public Branch Exchange (PBX) or telephone switch in the telephone world. In the PBX/switch, each channel within a trunk group (path) can be switched. Devices which perform VC connections are commonly called VC switches because of this analogy with telephone switches. Transmission networks use a cross-connect, which is basically a space division switch, or effectively an electronic patch panel. ATM devices which connect VPs are commonly called VP cross-connects by analogy with the transmission network.
At the ATM layer, users are provided a choice of either a Virtual Path Connection (VPC) or a Virtual Channel Connection (VCC). VPCs are switched based upon the Virtual Path Identifier (VPI) value only. The users of the VPC may assign the VCCs within that VPI transparently since they follow the same route. VCCs are switched upon the combined VPI and Virtual Channel Identifier (VCI) value.
Both VPIs and VCIs are used to route cells through the network. It should be noted that VPI and VCI values must be unique on a specific transmission path (TP). Thus, each transmission path between two network devices (such as ATM switches) uses VPIs and VCIs independently.
ATM is a scaleable standard that does not specify requirements for transmission rates, framing and physical layers. Rather, ATM switching and ATM networks refer only to the handling of cells. ATM does not dictate the content of information carried in cells. Accordingly, broadband networks must develop guarantees on bandwidth, delay and jitter to support a wide variety of ATM applications.
As mentioned earlier, the ATM Adaptation Layer (AAL) is used to assemble and reassemble packets into/from cells. For this purpose, four standards, AAL-1 through AAL-4, were initially defined to directly map to AAL service classes A through D. Class A is designated for constant bit-rate (CBR) service. Class B is for variable bit-rate (VBR) service with end-to-end timing, and is connection-oriented. Class C is for variable bit-rate (VBR) service with no timing required, and is connection-oriented. Finally, Class D is for variable bit-rate (VBR) service with no timing required, and supports connectionless topologies.
ALL-5 was conceived by the computer industry in response to perceived complexity and implementation difficulties in the AAL-3/4. While the AAL-3/4 provides a rich set of services, it does so at the expense of additional protocol overhead and processing. However, AAL-3/4 supports the multiplexing of the traffic originating from the multiple sessions or connections onto the same ATM virtual channel connection. Multiplexing capability requires the use of four bytes of each ATM cell for supporting the overhead information required for data encapsulation. Accordingly, AAL-3/4 is not widely used because of this extra overhead.
AAL-5 was designed to provide similar services to AAL-3/4, but with lower overhead. The problem with the AAL-5 is that it does not support the multiplexing of several connections onto the same VCC. Since individual cells of each AAL-5 packet are sent as a consecutive stream, AAL-5 does not have any information on the cell level to tell that the cells belong to the same AAL-5 packet.
Still, AAL-5 packet multiplexing would be useful, on environments, where traffic originating from many sources could be aggregated onto the same VCC connection to save the amount of VCCs required. This situation is common, e.g. in all kinds of recently proposed Cell Switched Router environments.
It can be seen that there is a need for a method and apparatus for supporting the multiplexing of packets on a single virtual channel connection to save on the number of virtual channel connections used.
It can also be seen that there is a need for a cell scheduler that, for the same priority connections, schedules packets from incoming VCCs for transmission on the order they have all cells for a packet available.